package com.crm.system.service.csd.customerManager;

import com.alibaba.fastjson.JSONObject;
import com.crm.common.model.DhPageInfo;
import com.crm.model.qo.csd.customerManager.ContactMaintainQO;
import com.crm.model.qo.csd.customerManager.ContactMaintainUpdateQO;
import com.crm.model.vo.csd.customerManager.ContactMaintainVO;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author yincuimei
 * @Date 2021/10/25 15:33
 */
public interface ContactMaintainService {
    /**
     *(客服部)联系人管理-》联系人维护列表
     * @param contactMaintainQO  --查询条件
     * @param pageIndex/pageSize --页码/分页大小
     * @param sortName/sortOrder --排序字段/排序规则(ASC/DESC)
     * @author yincuimei
     * @return
     */
    DhPageInfo<ContactMaintainVO> selectContactMaintainVOList(ContactMaintainQO contactMaintainQO,Integer pageIndex, Integer pageSize, String sortName, String sortOrder);

    /**
     * 联系人维护-》批量审核
     * @param contactIds  --联系人ID集合
     * @param examineInfo --审核信息(0-未审核 1-真实 2-错误)
     * @author yincuimei
     * @return
     */
    JSONObject updateExamineByIdsBatch(List<String> contactIds,Integer examineInfo);

    /**
     * 联系人维护-》修改
     * @param contactMaintainUpdateQO
     * @author yincuimei
     * @return
     */
    JSONObject updateContactByContactId(ContactMaintainUpdateQO contactMaintainUpdateQO);

    /**
     * 联系人维护-》删除
     * @param contactId     --联系人ID
     * @param contactName   --联系人名称
     * @param customerId    --客户ID
     * @param contactNature --联系人性质(0:企业联系人;1:个人联系人)
     * @author yincuimei
     * @return
     */
    Boolean deleteContactByContactId(String contactId,String contactName,String customerId,Integer contactNature);

    /**
     * 联系人维护-》导出
     * @param response
     * @param contactMaintainQO
     * @author yincuimei
     * @return
     */
    void exportContactMaintain(HttpServletResponse response, ContactMaintainQO contactMaintainQO) throws Exception;
}
